package com.controller;

import com.entity.Blog;
import com.service.BlogService;
import lombok.Data;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;

@Data // 自动生成 set,get,toString 方法
@RestController // 声明为 RestController 配置文件
@CrossOrigin // 跨域运行
@RequestMapping("/blog") // 请求地址

public class BlogController {
    @Autowired // 自动装配
    private BlogService blogService; // 注入接口

    // 查询所有博客信息
    @GetMapping
    public List<Blog> selectAllBlogs() {
        return blogService.selectAllBlogs();
    }

    // id 查询一个博客信息
    @GetMapping("/{id}")
    public Blog selectOneBlogById(@PathVariable String id) {
        return blogService.selectOneBlogById(Integer.parseInt(id));
    }

    // title 查询博客信息
    @GetMapping(params = "title")
    public List<Blog> selectOneBlogByTitle(String title) {
        return blogService.selectOneBlogByTitle(title);
    }

    // id 删除一个博客信息
    @DeleteMapping("/{id}")
    public int deleteOneBlog(@PathVariable String id) {
        return blogService.deleteOneBlog(Integer.parseInt(id));
    }

    // 新增一个博客信息
    @PostMapping
    public int insertOneBlog(@RequestBody Blog blog) {
        return blogService.insertOneBlog(blog);
    }

    // 修改一个博客信息
    @PutMapping
    public int updateOneBlog(@RequestBody Blog blog) {
        return blogService.updateOneBlog(blog);
    }
}
